//
//  ILLinkPeripheral.h
//  IMILabKit
//
//  Created by Roffa Zhou on 2022/5/30.
//
#if __has_include(<IMILabSDK_BindCommon/IMILabSDK_BindCommon.h>)
#import <IMILabSDK_BindCommon/ILBindDeviceModel.h>

#else
#import "ILBindDeviceModel.h"

#endif

NS_ASSUME_NONNULL_BEGIN

@interface ILLinkPeripheral : ILBindDeviceModel

//设备Mac,取后六位
@property (nonatomic, copy) NSString *mac;

//设备IP
@property (nonatomic, copy) NSString *ip;

//ap模式绑定/本地直连模式，设备热点方案，设备热点名称
@property (nonatomic, copy) NSString * __nullable apSsid;

//父设备的iotId
@property (nonatomic, copy) NSString *parentIotId;


#pragma mark - 本地直连
/// 登录密钥
@property (nonatomic, copy)NSString *loginToken;

/// 设备id. 当断线重连后，服务端会根据device id匹配登录客户端
@property (nonatomic, copy)NSString *deviceId;

@end


NS_ASSUME_NONNULL_END


// /** 设备productKey */
// @property (nonatomic, copy) NSString *productKey;
//
// /** 设备productName */
// @property (nonatomic, copy) NSString *productName;
//
// /** 设备名称 */
// @property (nonatomic, copy) NSString *deviceName;
//
// /** 设备Mac */
// @property (nonatomic, copy) NSString *mac;
//
// /** 设备IP */
// @property (nonatomic, copy) NSString *ip;
//
// /** 设备iotID */
// @property (nonatomic, copy) NSString *iotId;
//
//
// /** 待配网设备联网类型：
//     @"0" 代表wifi设备；
//     @"1" 代表ethernet设备（网线连接）;
//     @"2" 代表路由器 ;
//     @"ble_subtype_2" 代表蓝牙辅助配网设备
//     @"ble_subtype_3" 代表支持先绑定控制后配置WiFi信息的蓝牙Combo设备；
//     @"soundbox" 代表精灵音响设备
//  */
// @property (nonatomic, copy) NSString *devType;
//
// /** 设备配网完成后得到的token，用于下一步绑定用 */
// @property (nonatomic, copy) NSString *token;
//
// /** 指定配网方式 */
// @property (nonatomic, assign) ForceAliLinkType linkType;
//
// /** 发现待配网设备的设备的productKey：可选， */
// @property (nonatomic, copy) NSString *regProductKey;
//
// /** 发现待配网设备的设备的productNeme：可选， */
// @property (nonatomic, copy) NSString *regDeviceName;
//
// /** 云端返回待配网设备来源：
//     "ROUTER" ：代表路由器发现;
//     "ZERO_DEVICE" ：代表零配发现;
//     "MESH_GATEWAY" ：代表Mesh网关发现；
//  */
// @property (nonatomic, copy) NSString *addDeviceFrom;
//
// /** 产品加密密钥 ，可选*/
// @property (nonatomic, copy) NSString *productEncryptKey;
//
// /** 加密过程安全随机数因子，可选*/
// @property (nonatomic, copy) NSString *securityRandom;
//
// /** 协议版本，可选*/
// @property (nonatomic, copy) NSString *protocolVersion;
//
// /** 埋点ID Tracker 可选*/
// @property (nonatomic, copy) NSString *traceId;
//
// /** 待配设备产品ID,在蓝牙辅助配网中需要填入： 可选 */
// @property (nonatomic, copy) NSString *productId;
//
// /** 针对 linkType 为ForceAliLinkTypeSoftap，设备热点方案，可自定义设备热点前缀： 可选 */
// @property(nonatomic, copy)NSString *softApSsidPrefix;
//
// /** 针对 linkType 为ForceAliLinkTypeSoftap，设备热点方案，可设置是否不需要切换回原WiFi， YES 则不强制切换回原WiFi： 可选 */
// @property(nonatomic, assign) BOOL softApNoNeedSwitchBackRouter;
//
// /**
//  可选, 可设置忽略SDK中的位置权限检查。
//  目前针对 linkType 为ForceAliLinkTypeSoftap，设备热点方案
//  */
// @property(nonatomic, assign) BOOL ignoreLocationPermisionCheck;
//
// /** 设备配网完成后得到的设备服务信息，设备热点配网模式下可能返回*/
// @property (nonatomic, copy) NSArray * supportServices;
//
// /** 设备配网完成后得到的设备服务版本号，设备热点配网模式下可能返回*/
// @property (nonatomic, copy) NSDictionary * supportServicesVersion;
//
// /** 设备固件版本 */
// @property (nonatomic, copy) NSString *fwVersion;
//
// /**
//  设备的加密类型，蓝牙设备对应协议中 encrypt字段。
//  */
// @property (nonatomic, copy) NSString *deviceEncrypt;
//
// /**
//  设备是否已经被Reset，蓝牙设备对应的 resetFlag
//  */
// @property (nonatomic, assign) BOOL deviceIsReset;
//
// /** 指定待配设备归属的region , 默认为 LKRegionNodeNon */
// @property (nonatomic, assign) LKRegionNode regionNode;
//
// /** 设备 LKRegionNode = LKRegionNodeCustom 时，可自定义设备连接的 Mqtt Host*/
// @property (nonatomic, copy) NSString *customRegionMqttHost;
//
// /** 设备 LKRegionNode = LKRegionNodeCustomID 时，可自定义和设备约定的regionDID*/
// @property (nonatomic, copy) NSString *customRegionID;
//
// /**
//  回调数据使用，非入参使用。表示设备是否已经被绑定
//  */
// @property(nonatomic, assign) BOOL isBinded;
//
// /**
//  isBinded 成功时返回。非入参，可忽略。
//  */
// @property(nonatomic, copy) NSString *pageRouterUrl;
//
//
// /**
//  针对全球统一设备，激活云端Token能力，默认关闭。
//  */
// @property (nonatomic,assign) BOOL enableGlobalCloudToken;
//
//
// /** 发现待配网设备的Mesh网关的id：可选， */
// @property (nonatomic, copy) NSString *meshGatewayIotId;
//
// /** 发现Mesh网关发现的待配网mesh设备的deviceId：可选 */
// @property (nonatomic, copy) NSString *meshDeviceId;
//
// /** genie 配网方式选择 */
// @property (nonatomic, assign) GenieLinkConfigType genieConfigType;
//
// /**
//  音响重连
//  */
// @property (nonatomic, copy) NSString *deviceId;
//
// /**
//  音响配网专用
//  */
// @property (nonatomic, copy) NSString *userid;
//
// /**
//  orange配置值（时间：用于获取配网结果查询）
//  */
// @property (nonatomic, assign) float qps_link_timeslice;
//
// /**
//  音响设备uuid
//  */
// @property (nonatomic, copy) NSString *uuid;
//
// /**
//  设备image
//  */
// @property (nonatomic, copy) NSString *image;
//
// @property (nonatomic, assign) NSInteger deviceProductId;
// @property (nonatomic, assign) NSInteger deviceSubModelId;
//
// /**
//  云端返回
//  */
// @property (nonatomic, copy) NSString *platform;
//
// /**
//  推送或扫描获取的traceId
//  */
// @property (nonatomic, copy) NSString *flowId;
//
// /** 无感配网返回 */
// @property (nonatomic, copy) NSString *icon;
//
// /** 无感配网返回 */
// @property (nonatomic, copy) NSString *brand;
//
// /** 扫描时间 */
// @property (nonatomic, copy) NSString *timeTmp;
//
//
// /**
//  入网类型
//  */
// @property (nonatomic, copy) NSString *netType;
//
// /**
//  节点类型
//  */
// @property (nonatomic, copy) NSString *nodeType;
//
// /**
//  品类英文名
//  */
// @property (nonatomic, copy) NSString *categoryKey;
//
// /**
//  品类中文名
//  */
// @property (nonatomic, copy) NSString *categoryName;
//
// /**
//  类目id
//  */
// @property (nonatomic, copy) NSString *categoryId;
//
//
//
// /**
//  标识是不是极速配网2.0
//  */
// @property (nonatomic, assign) BOOL authFlag;
//
// /**
//  设备带上来的随机数
//  */
// @property (nonatomic, copy) NSString *random;
//
// /**
//  设备根据随机数和secret生成的authValue
//  */
// @property (nonatomic, copy) NSString *authDevice;
//
// /**
//  蓝牙mesh设备广播的uuid
//  */
// @property (nonatomic, copy) NSString *subDeviceId;
//
// /**
//  设备绑定成功附带的状态信息
//  */
// @property (nonatomic, strong) NSString *deviceStatusStr;
// /**
//  代表mesh设备可以被app配网
//  */
// @property (nonatomic, assign) BOOL appCanProvision;
//
// @property (nonatomic, copy) NSString *confirmCloud;
//
// @property (nonatomic, copy) NSString *gatewayDeviceName;
//
// @property (nonatomic, copy) NSString *gatewayProductKey;


